﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoTipoContaBanco
    {
        public TipoContaBanco Inserir(TipoContaBanco tipoContaBanco, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(tipoContaBanco, usuarioPermissao);
        }

        public TipoContaBanco Atualizar(TipoContaBanco tipoContaBanco, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(tipoContaBanco, usuarioPermissao);
        }

        public void Excluir(TipoContaBanco tipoContaBanco, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(tipoContaBanco, usuarioPermissao);
        }

        public TipoContaBanco ObterTipoContaBancoPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTipoContaBancoPorId(id, usuarioPermissao);
        }

        public IList<TipoContaBanco> ObterTodosTipoContaBancos(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosTipoContaBancos(usuarioPermissao);
        }

        public IList<TipoContaBanco> ObterTodosTiposContasBancos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao,
          string codigo, int enumTipoContaBanco, string descricao, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe,
          DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosTiposContasBancos(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo,
                (EnumTipoContaBanco)enumTipoContaBanco, descricao, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);

        }

        public TipoContaBanco ObterTipoContaBancoPorCodigo(string codigo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTipoContaBancoPorCodigo(codigo, usuarioPermissao);
        }
    }
}